import java.io.IOException;
import java.util.Scanner;

import routeur.AskRouteurTable;
import routeur.AskRouteurIntervals;


public class Simulateur {

	
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		String source;
		String destination;
		String type ; 
		System.out.println("Entrez le type de routage : ");
		System.out.println("1 pour routage par table de routage ");
		System.out.println("2 pour routage par intervalles ");
		type = sc.nextLine();
		if (!type.equals("1") && !type.equals("2")) {
			sc.close();
			throw new IOException("ENTREZ 1 OU 2 J'AI DIT");
		}
		System.out.println("Entrez l'origine du message : ");
		source = sc.nextLine();
		System.out.println("Entrez la destination du message : ");
		destination = sc.nextLine();	
		String chemin = trouverChemin(source, destination, type);
		System.out.println(source+" => "+chemin);
		sc.close();
		
	}
	
	public static String trouverChemin(String source, String destination, String type) throws IOException {

		if (source.equals(destination)) {
			return "ARRIVEE !!";
		} 
		else {
			if (type.equals("1")) {
				
			
			return AskRouteurTable.routMessage(source, destination)+" => "+trouverChemin(AskRouteurTable.routMessage(source, destination), destination, type);
		}
			else {
			return AskRouteurIntervals.routMessage(source, destination)+" => "+trouverChemin(AskRouteurIntervals.routMessage(source, destination), destination, type);
			}
			}
	}
	
	
}
